DigiOffice Gateway Web Services

<back to all web services

ProcessProjectRequestMessage

Requires Authentication
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using DigiOffice.Integration.TBIXchangeAzure.Messages;
using IDB.API.DTO.Document;

namespace DigiOffice.Integration.TBIXchangeAzure.Messages
{
    public partial class Address
    {
        public virtual string AddressLine1 { get; set; }
        public virtual string AddressLine2 { get; set; }
        public virtual string HouseNumber { get; set; }
        public virtual string HouseNumberSuffix { get; set; }
        public virtual string PostalCode { get; set; }
        public virtual string City { get; set; }
        public virtual Reference Country { get; set; }
    }

    public partial class ConstructionBlock
    {
        public ConstructionBlock()
        {
            CustomFields = new CustomField[]{};
        }

        public virtual string GlobalID { get; set; }
        public virtual Reference ProjectReference { get; set; }
        public virtual string Code { get; set; }
        public virtual string Description { get; set; }
        public virtual CustomField[] CustomFields { get; set; }
        public virtual DateTime? CreationDate { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime? ModifiedDate { get; set; }
        public virtual string ModifiedBy { get; set; }
    }

    public partial class ConstructionNumber
    {
        public ConstructionNumber()
        {
            CustomFields = new CustomField[]{};
        }

        public virtual string GlobalID { get; set; }
        public virtual Reference ProjectReference { get; set; }
        public virtual Reference HousingTypeReference { get; set; }
        public virtual Reference ConstructionBlockReference { get; set; }
        public virtual string Code { get; set; }
        public virtual string Description { get; set; }
        public virtual Address Address { get; set; }
        public virtual bool RentalHouse { get; set; }
        public virtual string GuaranteeCertificateNumber { get; set; }
        public virtual bool Inactive { get; set; }
        public virtual CustomField[] CustomFields { get; set; }
        public virtual DateTime? CreationDate { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime? ModifiedDate { get; set; }
        public virtual string ModifiedBy { get; set; }
        public virtual DateTime? ViewingDate { get; set; }
        public virtual bool ViewingDateSpecified { get; set; }
        public virtual DateTime? DeliveryDate { get; set; }
        public virtual bool DeliveryDateSpecified { get; set; }
    }

    public partial class CustomField
    {
        public virtual string Name { get; set; }
        public virtual string Value { get; set; }
    }

    public partial class Header
    {
        public virtual string MessageID { get; set; }
        public virtual DateTime Timestamp { get; set; }
        public virtual Party Sender { get; set; }
        public virtual Party Recipient { get; set; }
        public virtual Object RequestMessageID { get; set; }
        public partial class Party
        {
            public virtual string Title { get; set; }
            public virtual string Code { get; set; }
            public virtual string Version { get; set; }
            public virtual Environment Environment { get; set; }
        }

        public partial class Environment
        {
            public virtual string Title { get; set; }
            public virtual string Code { get; set; }
        }

    }

    public partial class HousingType
    {
        public HousingType()
        {
            CustomFields = new CustomField[]{};
        }

        public virtual string GlobalID { get; set; }
        public virtual Reference ProjectReference { get; set; }
        public virtual string Code { get; set; }
        public virtual string Description { get; set; }
        public virtual CustomField[] CustomFields { get; set; }
        public virtual DateTime? CreationDate { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime? ModifiedDate { get; set; }
        public virtual string ModifiedBy { get; set; }
    }

    public partial class MailingAddress
    {
        public virtual string POBox { get; set; }
        public virtual string PostalCode { get; set; }
        public virtual string City { get; set; }
        public virtual Reference Country { get; set; }
    }

    public partial class ProcessProjectRequestMessage
    {
        public virtual Guid InstanceId { get; set; }
        public virtual ProjectRequestMessage ProjectRequest { get; set; }
    }

    public partial class Project
    {
        public Project()
        {
            CustomFields = new CustomField[]{};
        }

        public virtual string GlobalID { get; set; }
        public virtual DateTime? CreationDate { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime? ModifiedDate { get; set; }
        public virtual string ModifiedBy { get; set; }
        public virtual string Code { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description1 { get; set; }
        public virtual string Description2 { get; set; }
        public virtual Address Address { get; set; }
        public virtual MailingAddress MailingAddress { get; set; }
        public virtual Reference ProjectCategoryReference { get; set; }
        public virtual Reference ProjectTypeReference { get; set; }
        public virtual Reference ProjectStatusReference { get; set; }
        public virtual DateTime? StartDate { get; set; }
        public virtual DateTime? EndDate { get; set; }
        public virtual DateTime? CompletionDate { get; set; }
        public virtual bool Inactive { get; set; }
        public virtual string Website { get; set; }
        public virtual bool IsTemplateProject { get; set; }
        public virtual CustomField[] CustomFields { get; set; }
    }

    public partial class ProjectRequestMessage
    {
        public virtual Header Header { get; set; }
        public virtual Reference ProjectReference { get; set; }
        public virtual bool IncludeHousingTypes { get; set; }
        public virtual bool IncludeConstructionBlocks { get; set; }
        public virtual bool IncludeConstructionNumbers { get; set; }
        public virtual bool IncludeDocuments { get; set; }
        public virtual bool IncludePurchaseContracts { get; set; }
    }

    public partial class ProjectResponseMessage
    {
        public ProjectResponseMessage()
        {
            HousingTypes = new HousingType[]{};
            ConstructionBlocks = new ConstructionBlock[]{};
            ConstructionNumbers = new ConstructionNumber[]{};
            Documents = new Document[]{};
            PurchaseContracts = new PurchaseContract[]{};
        }

        public virtual Header Header { get; set; }
        public virtual Reference ProjectReference { get; set; }
        public virtual Project Project { get; set; }
        public virtual HousingType[] HousingTypes { get; set; }
        public virtual ConstructionBlock[] ConstructionBlocks { get; set; }
        public virtual ConstructionNumber[] ConstructionNumbers { get; set; }
        public virtual Document[] Documents { get; set; }
        public virtual PurchaseContract[] PurchaseContracts { get; set; }
    }

    public partial class PurchaseContract
    {
        public PurchaseContract()
        {
            CustomFields = new CustomField[]{};
        }

        public virtual string GlobalID { get; set; }
        public virtual string Code { get; set; }
        public virtual string Description { get; set; }
        public virtual Reference ProjectReference { get; set; }
        public virtual string ProductCode { get; set; }
        public virtual Relation Relation { get; set; }
        public virtual bool Inactive { get; set; }
        public virtual CustomField[] CustomFields { get; set; }
        public virtual DateTime? CreationDate { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime? ModifiedDate { get; set; }
        public virtual string ModifiedBy { get; set; }
    }

    public partial class Reference
    {
        public virtual string GlobalID { get; set; }
        public virtual string Title { get; set; }
    }

    public partial class Relation
    {
        public Relation()
        {
            CustomFields = new CustomField[]{};
        }

        public virtual string GlobalID { get; set; }
        public virtual string NameLine1 { get; set; }
        public virtual string NameLine2 { get; set; }
        public virtual Address Address { get; set; }
        public virtual MailingAddress MailingAddress { get; set; }
        public virtual string Telephone { get; set; }
        public virtual string Mobile { get; set; }
        public virtual string Email { get; set; }
        public virtual string IBAN { get; set; }
        public virtual string BankAccountNumber { get; set; }
        public virtual string Website { get; set; }
        public virtual bool Inactive { get; set; }
        public virtual CustomField[] CustomFields { get; set; }
        public virtual DateTime? CreationDate { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime? ModifiedDate { get; set; }
        public virtual string ModifiedBy { get; set; }
    }

}

namespace IDB.API.DTO.Document
{
    public partial class Document
        : ICustomProperties
    {
        public Document()
        {
            CustomProperties = new Dictionary<string, Object>{};
        }

        public virtual Guid ID { get; set; }
        public virtual Guid RootDocumentID { get; set; }
        public virtual Guid RegistrationprofileID { get; set; }
        public virtual string Title { get; set; }
        public virtual string FullTitle { get; set; }
        public virtual string Number { get; set; }
        public virtual string Version { get; set; }
        public virtual string ExternalNumber { get; set; }
        public virtual string ExternalVersion { get; set; }
        public virtual string InternalNumber { get; set; }
        public virtual string InternalInvoiceNumber { get; set; }
        public virtual int PersonID { get; set; }
        public virtual int RelationID { get; set; }
        public virtual string RelationTitle { get; set; }
        public virtual int ProjectID { get; set; }
        public virtual string ProjectTitle { get; set; }
        public virtual string Extension { get; set; }
        public virtual DateTime? Date { get; set; }
        public virtual int CommentsCount { get; set; }
        public virtual bool HasComments { get; set; }
        public virtual bool HasPreview { get; set; }
        public virtual string ExtraField { get; set; }
        public virtual bool IsFavorite { get; set; }
        public virtual string DocumentcategoryText { get; set; }
        public virtual long? FileSize { get; set; }
        public virtual DateTime? FileDate { get; set; }
        public virtual string Hash { get; set; }
        public virtual string HashType { get; set; }
        public virtual string FileUrl { get; set; }
        public virtual string StandardDocumentUrl { get; set; }
        public virtual bool IsCorporateIdentity { get; set; }
        public virtual string UserTitle { get; set; }
        public virtual bool IsFrozen { get; set; }
        public virtual int InternalCompanyID { get; set; }
        public virtual string DirectUrl { get; set; }
        public virtual bool AllowDigitalSigningOnlyOnPrimaryVersions { get; set; }
        public virtual bool IsPrimaryVersion { get; set; }
        public virtual string FileExtension { get; set; }
        public virtual Dictionary<string, Object> CustomProperties { get; set; }
    }

}

C# ProcessProjectRequestMessage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /xml/reply/ProcessProjectRequestMessage HTTP/1.1 
Host: kpm_digiofficeapigateway.tbi.nl 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ProcessProjectRequestMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
  <InstanceId>00000000-0000-0000-0000-000000000000</InstanceId>
  <ProjectRequest>
    <Header>
      <MessageID>String</MessageID>
      <Recipient>
        <Code>String</Code>
        <Environment>
          <Code>String</Code>
          <Title>String</Title>
        </Environment>
        <Title>String</Title>
        <Version>String</Version>
      </Recipient>
      <RequestMessageID />
      <Sender>
        <Code>String</Code>
        <Environment>
          <Code>String</Code>
          <Title>String</Title>
        </Environment>
        <Title>String</Title>
        <Version>String</Version>
      </Sender>
      <Timestamp>0001-01-01T00:00:00</Timestamp>
    </Header>
    <IncludeConstructionBlocks>false</IncludeConstructionBlocks>
    <IncludeConstructionNumbers>false</IncludeConstructionNumbers>
    <IncludeDocuments>false</IncludeDocuments>
    <IncludeHousingTypes>false</IncludeHousingTypes>
    <IncludePurchaseContracts>false</IncludePurchaseContracts>
    <ProjectReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectReference>
  </ProjectRequest>
</ProcessProjectRequestMessage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ProjectResponseMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
  <ConstructionBlocks>
    <ConstructionBlock>
      <Code>String</Code>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
    </ConstructionBlock>
  </ConstructionBlocks>
  <ConstructionNumbers>
    <ConstructionNumber>
      <Address>
        <AddressLine1>String</AddressLine1>
        <AddressLine2>String</AddressLine2>
        <City>String</City>
        <Country>
          <GlobalID>String</GlobalID>
          <Title>String</Title>
        </Country>
        <HouseNumber>String</HouseNumber>
        <HouseNumberSuffix>String</HouseNumberSuffix>
        <PostalCode>String</PostalCode>
      </Address>
      <Code>String</Code>
      <ConstructionBlockReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ConstructionBlockReference>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <DeliveryDate>0001-01-01T00:00:00</DeliveryDate>
      <DeliveryDateSpecified>false</DeliveryDateSpecified>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <GuaranteeCertificateNumber>String</GuaranteeCertificateNumber>
      <HousingTypeReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </HousingTypeReference>
      <Inactive>false</Inactive>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
      <RentalHouse>false</RentalHouse>
      <ViewingDate>0001-01-01T00:00:00</ViewingDate>
      <ViewingDateSpecified>false</ViewingDateSpecified>
    </ConstructionNumber>
  </ConstructionNumbers>
  <Documents>
    <Document>
      <Code>String</Code>
      <ConstructionBlockReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ConstructionBlockReference>
      <ConstructionNumberReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ConstructionNumberReference>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <DeletedDate>0001-01-01T00:00:00</DeletedDate>
      <DeletedDateSpecified>false</DeletedDateSpecified>
      <DocumentTypeReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </DocumentTypeReference>
      <File>
        <Content>String</Content>
        <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
        <Name>String</Name>
        <Size>0</Size>
        <Type>String</Type>
      </File>
      <Floor>0</Floor>
      <FloorSpecified>false</FloorSpecified>
      <GlobalID>String</GlobalID>
      <HousingTypeReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </HousingTypeReference>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <NewestVersion>false</NewestVersion>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
      <RelationReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </RelationReference>
      <RootDocumentID>String</RootDocumentID>
      <Subject>String</Subject>
      <VersionNumber>String</VersionNumber>
    </Document>
  </Documents>
  <Header>
    <MessageID>String</MessageID>
    <Recipient>
      <Code>String</Code>
      <Environment>
        <Code>String</Code>
        <Title>String</Title>
      </Environment>
      <Title>String</Title>
      <Version>String</Version>
    </Recipient>
    <RequestMessageID />
    <Sender>
      <Code>String</Code>
      <Environment>
        <Code>String</Code>
        <Title>String</Title>
      </Environment>
      <Title>String</Title>
      <Version>String</Version>
    </Sender>
    <Timestamp>0001-01-01T00:00:00</Timestamp>
  </Header>
  <HousingTypes>
    <HousingType>
      <Code>String</Code>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
    </HousingType>
  </HousingTypes>
  <Project>
    <Address>
      <AddressLine1>String</AddressLine1>
      <AddressLine2>String</AddressLine2>
      <City>String</City>
      <Country>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </Country>
      <HouseNumber>String</HouseNumber>
      <HouseNumberSuffix>String</HouseNumberSuffix>
      <PostalCode>String</PostalCode>
    </Address>
    <Code>String</Code>
    <CompletionDate>0001-01-01T00:00:00</CompletionDate>
    <CreatedBy>String</CreatedBy>
    <CreationDate>0001-01-01T00:00:00</CreationDate>
    <CustomFields>
      <CustomField>
        <Name>String</Name>
        <Value>String</Value>
      </CustomField>
    </CustomFields>
    <Description1>String</Description1>
    <Description2>String</Description2>
    <EndDate>0001-01-01T00:00:00</EndDate>
    <GlobalID>String</GlobalID>
    <Inactive>false</Inactive>
    <IsTemplateProject>false</IsTemplateProject>
    <MailingAddress>
      <City>String</City>
      <Country>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </Country>
      <POBox>String</POBox>
      <PostalCode>String</PostalCode>
    </MailingAddress>
    <ModifiedBy>String</ModifiedBy>
    <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
    <Name>String</Name>
    <ProjectCategoryReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectCategoryReference>
    <ProjectStatusReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectStatusReference>
    <ProjectTypeReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectTypeReference>
    <StartDate>0001-01-01T00:00:00</StartDate>
    <Website>String</Website>
  </Project>
  <ProjectReference>
    <GlobalID>String</GlobalID>
    <Title>String</Title>
  </ProjectReference>
  <PurchaseContracts>
    <PurchaseContract>
      <Code>String</Code>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <Inactive>false</Inactive>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProductCode>String</ProductCode>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
      <Relation>
        <Address>
          <AddressLine1>String</AddressLine1>
          <AddressLine2>String</AddressLine2>
          <City>String</City>
          <Country>
            <GlobalID>String</GlobalID>
            <Title>String</Title>
          </Country>
          <HouseNumber>String</HouseNumber>
          <HouseNumberSuffix>String</HouseNumberSuffix>
          <PostalCode>String</PostalCode>
        </Address>
        <BankAccountNumber>String</BankAccountNumber>
        <CreatedBy>String</CreatedBy>
        <CreationDate>0001-01-01T00:00:00</CreationDate>
        <CustomFields>
          <CustomField>
            <Name>String</Name>
            <Value>String</Value>
          </CustomField>
        </CustomFields>
        <Email>String</Email>
        <GlobalID>String</GlobalID>
        <IBAN>String</IBAN>
        <Inactive>false</Inactive>
        <MailingAddress>
          <City>String</City>
          <Country>
            <GlobalID>String</GlobalID>
            <Title>String</Title>
          </Country>
          <POBox>String</POBox>
          <PostalCode>String</PostalCode>
        </MailingAddress>
        <Mobile>String</Mobile>
        <ModifiedBy>String</ModifiedBy>
        <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
        <NameLine1>String</NameLine1>
        <NameLine2>String</NameLine2>
        <Telephone>String</Telephone>
        <Website>String</Website>
      </Relation>
    </PurchaseContract>
  </PurchaseContracts>
</ProjectResponseMessage>